Cryptography can be used in data processing, information processing, computing system, or the like to secure operations and/or functions. Examples of cryptographic systems include secure email systems, smartcards, point of sales terminals, network routers, and the like including methods such as digital signatures, cryptographic hash functions, key management techniques, and the like. Cryptographic systems include cryptographic primitives of various levels of complexity.
Typical cryptographic systems include algorithms for key generation, encryption, decryption, and the generation of digital signatures. A digital signature refers to a pair of algorithms, one for signing a message, and one for verifying the signature of a message. Cryptographic systems commonly use a key generation algorithm and often exploit public key techniques and/or symmetric key techniques.